/**
 * 创建虚拟dom结构
 * @param {*} type
 * @param {*} props
 * @param  {...any} children
 * @returns 虚拟dom结构
 */
export function createElement(type, props, ...children) {
	return {
		type,
		props: {
			...props,
			children: children.map((child) =>
				typeof child === 'object' ? child : createTexElement(child)
			),
		},
	}
}
/**
 * 当child为非对象时，创建文本节点
 * @param {*} text 文本
 * @returns 虚拟dom结构
 * */
function createTexElement(text) {
	return {
		type: 'TEXT_ELEMENT',
		props: {
			nodeValue: text,
			children: [],
		},
	}
}
